//
//  HTTP.h
//  面试题
//
//  Created by Toj on 8/16/21.
//

#pragma mark - 抓包工具
1. tcpdump
2. charles

HTTP 1.1增加
1. 持续连接, 3次握手后还可以利用上一个连接继续发送数据
2. HTTP管道传输, 但是还是有问题
无状态的: 不能并行复用, 一个管道发送多个包, 无法做到响应到指定线程内
RPC: 协议头内增加一个inde线程ID
3. 增强缓存机制
4. 分块编码传输
5. 状态码扩充
6. Host头域
7. 请求方式新增
8. 带宽优化
9. 性能优化: 域名分区, 多个TCP, 连接合并, 嵌入资源

/* 请求报文
POST /somedir/page.html HTTP/1.1
//以上是请求行:方法字段、URL字段和HTTP版本字段
Host: www.user.com
Content-Type: application/x-www-form-urlencoded // 请求的发送格式
Connection: Keep-Alive // 首部行用来表明该浏览器告诉服务器使用持续连接
User-agent: Mozilla/5.0. //代理类型
Accept-lauguage: fr // 语法版本
//以上是首部行 此处必须有一空行）  //空行分割header和请求内容

name=world   请求体
*/

/* 响应报文
 HTTP/1.1 200 OK //以上是状态行：协议版本字段、状态码、相应状态信息
 Connection：close // 当前连接状态, 发送完就关闭了
 Server:Apache/2.2.3(CentOS) // 服务器的类型
 Date: Sat, 31 Dec 2005 23:59:59 GMT // 响应事件
 Content-Type: text/html // 响应的格式
 Content-Length: 122 // 响应字节数
 //以上是首部行 （此处必须有一空行）  //空行分割header和实体主体
 
 (data data data data)//响应实体主体
 */
